This application claims the priority of Korean Patent Application No. 10-2003-0079090 filed on Nov. 10, 2003, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference.
1. Field of the Invention
The present invention relates to a network connection device, network system and method for avoiding duplication of proxy functions and, more particularly, to a network connection device, network system and method for avoiding duplication of proxy functions through synchronization of status of proxy Universal Plug and Play (UPnP) devices and preventing the proxy functions from being duplicated and activated, by introducing at least one enabled bridge realizing a function of preventing a collision generated when two or more bridges realizing the proxy function of a network device of a second communication mode (e.g., non-TCP/IP layer communication mode) are present within the same home network.
2. Description of the Related Art
A home network is normally constituted of an Internet protocol (IP) based private network, and governs various instruments such as personal computers (PCs) of all form factors, intelligent appliances and wireless devices which are used in a household in connection with each other through a common virtual computing environment called “middleware” over a single network.
The “middleware” connects various digital devices in a peer-to-peer mode to allow communication between them, and is exemplified by Home Audio Video Interoperability (HAVI), Universal Plug and Play (UPnP), Java Intelligent Network Infra-structure (JINI), Home Wide Web (HWW) and so forth, which have been proposed.
In the computing environment established through the middleware of UPnP, according to a Dynamic Host Configuration Protocol (DHCP), each device has an IP address assigned from a DHCP server or selected by automatic IP addressing (Auto IP), thereby performing communication between them as well as search/inquiry on a network.
A UPnP network is composed of at least one home network device (hereinafter, referred to as a “controlled device”) as a device connected to an IP based home network and controlled, and a control point as a device for controlling the controlled device.
FIGS. 1A to 1D are operational flow charts showing operation of each step in a control process between devices in a conventional UPnP network.
In the UPnP network, the control process between devices is divided into a discovery-advertisement process, a description process, a control process and an eventing process.
FIG. 1A shows the discovery-advertisement process, which is generally divided into advertisement and discovery processes. The advertisement process allows a new controlled device to be advertised to other devices when the new controlled device is added to the home network, and the discovery process allows a new control point to search for the controlled devices in operation on the network when the new control point is added to the home network.
First, in the advertisement process, the new controlled device added to the network has an IP address assigned through the DHCP as a search protocol or the Auto IP according to an addressing process. After the IP address assignment, the new controlled device multicasts a plurality of advertising messages advertising itself to other controlled devices and control points on the network, thereby advertising its services provided through its embedded devices.
Further, any control point capable of controlling operation of the controlled device receives its multicast advertising message to register itself in the controlled device.
By contrast, in the discovery process, the new control point added to the network has an IP address assigned through the DHCP as a search protocol or the Auto IP according to an addressing process. After the IP address assignment, the new control point multicasts a search message in order to identify controlled devices in operation on the network according to a simple service discovery protocol (SSDP).
Further, the controlled devices receiving the search message sent from the control point unicast a response message to the new control point in response to the received search message.
FIG. 1B shows the description process, in which the control point checks either a service description XML (extensible markup language) file or a device description XML file through the IP address of the controlled device obtained in the discovery-advertisement process in order to control the controlled device, thereby learning in more detail about functions of a newly added device.
In other words, the control point intending to control the controlled device requests the controlled device to send the service description XML file or the device description XML file, and parses the description XML file (UPnP description for device or service) which is sent from the controlled device.
FIG. 1C shows the control process, in which, in the case where the control point intends to provide particular services through the controlled device, the control point transmits an action request for requesting a predetermined service to the controlled device of interest using a Simple Object Access Protocol (SOAP) according to a UPnP device architecture, and receives a response message such as any result and any variable value.
These action and response messages are sent/received using the IP address of the controlled device obtained in the addressing and discovery-advertisement processes, and are expressed in XML using the SOAP.
FIG. 1D shows the eventing process, in which the information change of the controlled device providing predetermined services by an action command sent from the control point is checked.
To be more specific, in the case where a subscription request is sent in order to check the information change of the controlled device at the control point, the controlled device sends an event message formatted in the XML form through Generic Event Notification Architecture (GENA) in order to inform changed information. The control point receives the event message sent from the controlled device and processes the received event message into description updates of the controlled device.
FIG. 2 shows a state where one bridge within a conventional home network realizes proxy UPnP devices to non-TCP/IP layer based network devices.
First, second and third network devices 10, 20 and 30 are each connected to a non-TCP/IP based network line 80 such as a power line enabling power line communication, to each of which a device card 60 providing its information is mounted. The network line 80 is connected to a bridge 40.
In order to exert a UPnP function on the home network, the network devices 10, 20 and 30 must be operated on the basis of a TCP/IP layer. A control point 50, a TCP/IP layer based network device, is intended to control the network devices 10, 20 and 30 through another TCP/IP based network line 70 such as a Local Area Network (LAN), but the control point 50 can not directly control the network devices because the network devices 10, 20 and 30 are not based on the TCP/IP layer. For this reason, the bridge 40 is introduced, within which first, second and third proxy UPnP devices 11, 21 and 31, which realize proxy functions of the network devices 10, 20 and 30 respectively, are set. Thereby, it is possible for the control point 50 under the UPnP environment to control the network devices. As shown in FIG. 2, each of the network devices 10, 20 and 30 is connected to one bridge 40. The bridge 40 is operated without a special collision problem because the proxy functions of the network devices are realized.
FIG. 3 shows a state where two bridges within a conventional home network simultaneously realize proxy UPnP devices with respect to network devices.
A first bridge 40 realizes the proxy functions of the first network device 10 and the third network device 30, and a second bridge 42 realizes the proxy functions of the second and third network devices 20 and 30. In this case, it can be seen that the third network device 30 is duplicately realized to the first and second bridges 40 and 42. In other words, unlike FIG. 2, FIG. 3 shows a state where the second bridge 42 realizes the proxy function of the third network device 30 together with the first bridge 40, and thus the third proxy UPnP devices 31 realizing the proxy function of the third non-TCP/IP layer based network device 30 are duplicated and activated.
In FIG. 3, in the case where two or more bridges realize the proxy function of one non-TCP/IP layer based network device, the following problems may be generated.
First, there is a problem in that the status of the duplicated third proxy UPnP devices 31 is not synchronized. Here, the status may be generally divided into two states. Of them, one is the status where the third network device itself has access to the network, and because the third proxy UPnP devices 31 implemented within the bridges 40 and 42 are either fetched from the third network device 30 or set to the third network device 30 whenever necessary, the status incurs no problem even if several third proxy UPnP devices 31 are implemented. The other is the status where the third proxy UPnP device 31 implemented within each bridge has access to the network, and even if the proxy UPnP device 31 realizes the proxy function of the same third network device 30 in the process of sending/receiving signals to/from the UPnP control point 50, the status is changed according the proxy UPnP device within each bridge, thus incurring a problem.
Second, there is another problem generated when any one of the duplicated third proxy UPnP devices 31 sends a termination message, which is hereafter referred to as a “bye-bye message”, in order to terminate its function. In this case, the UPnP control point 50 identifies a Universally Unique Identifier (UUID) peculiar to any one of the third proxy UPnP devices 31 which is included in the bye-bye message, and then removes the identified proxy UPnP device. However, because the other of the duplicated third proxy UPnP devices 31 is still activated within the other bridge, the control point 50 does not recognize the other third proxy UPnP device.